const http = require('http')

const fs = require('fs')
const path = require('path')

const server = http.createServer()

server.on('request', (req, res) => {
    /**
     * 根据不同的url返回不同的内容
     */
    const { url } = req

    /**
     * 只要有请求就会触发这个回调函数
     * 当调用res.end()的时候，向客户端发送响应,并且告诉客户端响应结束了
     * 如果发送中文内容的时候会出现乱码,此时需要手动设置内容的编码格式
     */
    res.setHeader('Content-Type', 'text/html;charset=utf-8')
    switch (url) {
        case '/clock/index.html':
            const htmlDir = path.resolve(__dirname, '..', 'Path', 'practice', 'index.html');
            fs.readFile(htmlDir, (err, data) => {
                if (err) {
                    res.end('404 Not Found')
                } else {
                    res.end(data)
                }
            })
            break
        case '/clock/index.js':
            const jsDir = path.resolve(__dirname, '..', 'Path', 'practice', 'index.js');
            fs.readFile(jsDir, (err, data) => {
                if (err) {
                    res.end('404 Not Found')
                } else {
                    res.end(data)
                }
            })
            break
        case '/clock/index.css':
            const cssDir = path.resolve(__dirname, '..', 'Path', 'practice', 'index.css');
            fs.readFile(cssDir, (err, data) => {
                if (err) {
                    res.end('404 Not Found')
                } else {
                    res.end(data)
                }
            })
            break;
        default:
            res.end('<h1>404 Not Found</h1>')
    }
})

server.listen(8081, () => {})